:root
{
--chat-width: max(var(--chat-min-width), (var(--vw) - var(--vh) * 16 / 9 / 2) / 2);
}

html, body
{
min-width: calc(var(--player-min-width) + var(--chat-min-width) * 2);
min-height: max(var(--player-min-height), var(--chat-min-height));
}

.p1, .p2
{
left: var(--chat-width);
right: var(--chat-width);
height: calc(var(--vh) / 2);
}
.p1
{
display: block;
bottom: auto;
}
.p2
{
display: block;
top: auto;
}

.c1, .c2
{
width: var(--chat-width);
}
.c1
{
display: block;
right: auto;
}
.c2
{
display: block;
left: auto;
}

.m1, .m2
{
display: block;
}
.m1, .m2, .ch1, .ch2
{
right: var(--chat-width);
}
.sm1, .sm2
{
right: calc(var(--chat-width) + var(--menu-size));
}
.ch1
{
top: var(--menu-size);
}
.m2, .sm2
{
top: calc(var(--vh) / 2);
}
.ch2
{
top: calc(var(--vh) / 2 + var(--menu-size));
}

.p3, .c3, .m3, .sm3, .ch3, .p4, .c4, .m4, .sm4, .ch4
{
position: absolute !important;
top: -9999px !important;
left: -9999px !important;
width: 0 !important;
height: 0 !important;
}



@media (min-width: calc(340px * 2)) and (max-width: calc(340px * 3 - 1px)) and (min-height: calc(100px * 2 + 200px))
{
:root
{
--player-height: clamp(var(--player-min-height), (var(--vh) - var(--chat-min-height)) / 2, var(--vw) * 9 / 16);
}

html, body
{
min-width: max(var(--player-min-width), var(--chat-min-width) * 2);
min-height: calc(var(--player-min-height) * 2 + var(--chat-min-height));
}

.p1, .p2
{
left: 0;
right: 0;
height: var(--player-height);
}

.c1, .c2
{
top: var(--player-height);
bottom: var(--player-height);
width: auto;
}
.c1
{
left: 0;
right: calc(var(--vw) / 2);
}
.c2
{
left: calc(var(--vw) / 2);
right: 0;
border-left: 1px solid Gray;
}

.m1, .m2, .ch1, .ch2
{
right: 0;
}
.sm1, .sm2
{
right: var(--menu-size);
}
.m2, .sm2
{
top: calc(var(--vh) - var(--player-height));
}
.ch2
{
top: calc(var(--vh) - var(--player-height) + var(--menu-size));
}
}



@media (max-width: calc(340px * 2 - 1px)), (max-aspect-ratio: calc(340 * 2 - 1)/calc(((340 * 2 - 1) * 9 / 16 + 200) * 2))
{
:root
{
--player-height: clamp(var(--player-min-height), var(--vw) * 9 / 16, var(--vh) / 2 - var(--chat-min-height));
}

html, body
{
min-width: max(var(--player-min-width), var(--chat-min-width));
min-height: calc((var(--player-min-height) + var(--chat-min-height)) * 2);
}

.p1, .p2
{
left: 0;
right: 0;
height: var(--player-height);
}
.p1
{
top: auto;
bottom: calc(var(--vh) / 2);
}
.p2
{
top: calc(var(--vh) / 2);
bottom: auto;
}

.c1, .c2
{
left: 0;
right: 0;
width: auto;
height: calc(var(--vh) / 2 - var(--player-height));
}
.c1
{
top: 0;
bottom: auto;
}
.c2
{
top: auto;
bottom: 0;
border-left: none;
}

.m1, .m2, .ch1, .ch2
{
right: 0;
}
.sm1, .sm2
{
right: var(--menu-size);
}
.m1, .sm1
{
top: calc(var(--vh) / 2 - var(--player-height));
bottom: auto;
}
.ch1
{
top: calc(var(--vh) / 2 - var(--player-height) + var(--menu-size));
bottom: auto;
}
.m2, .sm2
{
top: calc(var(--vh) / 2);
bottom: auto;
}
.ch2
{
top: calc(var(--vh) / 2 + var(--menu-size));
bottom: auto;
}
}
